﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework;

namespace S_Wings {
  class Screen {
    // Loads the resources needed for the screen
    public virtual void load(ContentManager cm) {}

    // Update the screen
    public virtual int update(double elapsedTime, KeyboardState ks, GamePadState gs) {
      return 0;
    }

    // Draws the screen
    public virtual void draw(SpriteBatch sb) {}

    // Resets the screen to the it's base setting
    public virtual void reset() {}
  }

  class Level : Screen {
    // List of enemies
    // List of enemy spawn times
    // Level timer
    // Boss timer
    // Player Ship?
    // Collection of player bullets
    // Collection of enemy bullets

    public int update(double elapsedTime, KeyboardState ks, GamePadState gs) {
      // Keyboard input
      if (ks.IsKeyDown(Keys.Escape) || gs.IsButtonDown(Buttons.Back)) {
        return -1;
      }
      // for each enemy in list, update
      // if boss alive, update, change boss timer
      // Check for collisions
      return 0;
    }

    public void draw(SpriteBatch sb) {
      // for each enemy in list, draw
      // if boss alive, draw
      // draw player
    }
  }
}
